package DB.dao;

import DB.dto.*;
import DB.exceptions.*;

public interface NurseHasOperationsDao
{
		/**
	 * Inserts a new row in the NURSE_HAS_OPERATINS table.
	 */
	public void insert(NurseHasOperatins dto) throws NurseHasOperatinsDaoException;

	/**
	 * Deletes a single row in the NURSE_HAS_OPERATINS table.
	 */
	public void delete(int oper, int nurse) throws NurseHasOperatinsDaoException;
    public void deleteNursesFromOperation(int oper) throws NurseHasOperatinsDaoException;
    public void deleteOperationsFromNurse(int nurse) throws NurseHasOperatinsDaoException;

	public NurseHasOperatins[] findAll() throws NurseHasOperatinsDaoException;

	/**
	 * Returns all rows from the NURSE_HAS_OPERATINS table that match the criteria 'ID_NURSE = :idDoctor'.
	 */
	public NurseHasOperatins[] findByNurse(int idNurse) throws NurseHasOperatinsDaoException;

	/**
	 * Returns all rows from the NURSE_HAS_OPERATINS table that match the criteria 'ID_OPERATION = :idOperation'.
	 */
    public NurseHasOperatins[] findByOperation(int idNurse) throws NurseHasOperatinsDaoException;

	public NurseHasOperatins[] findByDynamicSelect(String sql, Object[] sqlParams) throws NurseHasOperatinsDaoException;

	/**
	 * Returns all rows from the NURSE_HAS_OPERATINS table that match the specified arbitrary SQL statement
	 */
	public NurseHasOperatins[] findByDynamicWhere(String sql, Object[] sqlParams) throws NurseHasOperatinsDaoException;

}
